package com.shrct.businessprocess.project;

import com.shrct.businessprocess.project.RCProject;
import com.shrct.businessprocess.project.RCProjectProductSale;
import com.shrct.businessprocess.project.RCProjectServiceDeliver;
import com.shrct.businessprocess.project.RCProjectServiceDuration;
import com.shrct.businessprocess.project.RCProjectTypeExtension;
import edu.fudan.mylang.pf.IDAOService;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

public interface RCProjectTypeExtensionDAO extends IDAOService<RCProjectTypeExtension> {
  public abstract RCProjectTypeExtension asExtension(final RCProject project, final Function1<? super Void,? extends RCProjectTypeExtension> creator);
  
  public abstract RCProjectProductSale asProductSale(final RCProject project);
  
  public abstract RCProjectServiceDeliver asDeliver(final RCProject project);
  
  public abstract RCProjectServiceDuration asServiceDuration(final RCProject project, final Procedure1<? super RCProjectServiceDuration> init);
}
